readme, some refactoring