It compiles and links ! the makefile has also been tidied up although the headers should be and are not in the dependencies
added main