made Makefile
add prototype
move definition order
garbage