Code cleanup + Reorginize code
Minor design changes
Update README file and some minor cleanup