renamed and make file optimized