add new file
more tests, more documentation
godoc link
merge