Serious progress and refactoring