refactoring a-la nimit