organization + makefile improvement