please, review the code.

Many things done, however I know many things still remain to make code like production code. However, I feel like this is somewhat enough for you to review. thanks.