created interfaces for work item, job and result