return model if successful