add tests, implement grunt, travis