First commit, some tests are missing