dont use function named `main`, it causes segfault
add tests
ignore output-file
add Makefile
add comment to show origin