refactoring
random stuff