Add tests to make it consistent across all remotes
* Add unit tests * Fix up remote so it passes tests * Add docs