better Makefiles but still needs some work