some work, makefile sucks