encapsulate to new files
clean up