TODO New task, some refactoring done