add model implementations