fix. moved count update & validation to models. rock!