starting to refactor things to make it testable and better :)