added Go source and test file