implement actor logic