add scala model including tests