simple factory pattern
add makefile for simple factory pattern