All kinds of initial refactoring
Works!