clean up
refactor