model itertation and len() support, more functional style