refined makefile