reorganize + makefile