some refactoring
progress
stuff