Initial commit (including rudimentary tests)