first phase
fix to the makefile to avoid circular dependency