added some model. not yet complete