Updated README, some minor refactoring