improvements on model apis + tests