factoring by steve and makefile