fix
adds tests and changes models