two phase seems to be mostly working
clean compile with -Wall
make depends works