cleanup, refactor