refactoring, renames and stuff