(hope smart) refactoring