refactored actor