some basic refactoring