Hello, I have updated my proposal following your guide and tried to answer and give solution to most of the problems. I have tried to separate the interface with the implementation details so when choosing an interface a feature can be easily added by following the exact interface header so multiple implementations can be used without affecting the user(ex: scheduling algorithm for dynamic thereads, bounded/unbounded queues etc). I hope this approach is better. You can find the pdf version here [1]. The previous version of the proposal can be found here [2]. Thank you very much for the feedback, suggestions, guidance and the really fast answers. [1] http://danlincan.3owl.com/gsoc/final-proposal.pdf [2] http://danlincan.3owl.com/gsoc/Proposal.pdf Regards, Dan