add ui code from other repo
update tests
add makefile (only purpose is vim integration) and gitignore