almost have models working correctly