initial definition
added test program and makefile