Tidied up, main and makefile are now the only files required at the top level.