refactoring & unfinished work