move OpenResult to model.api