Complete, add tests, linted, travis