add model and some (failing) tests