re-added 'perform' api call method