Restructured using Makefile.