exported constructor model