progress

some refactoring