modified readme, more refactoring