added basic model/serialze functionality and first unit tests