update spec, models and test