implement some operations
add makefile