adding, editing, deleting, rearranging done
refactor - don't need custom delegate