reworked the entire makefile