Added argument checks and makefile.