Commit work so far (needs refactoring)