Add tests, documentation, travis configuration