updated README.md and make the sorce code more organized