new main program. needs slightly better module configuration through Makefiles