api model: added; refactored;