models with attributes