updated models, added populate func