using promises in model calls