Still working on the refactoring