refactoring and release makefile