refactoring
misc