cleanup, separate, make makefile