make actors purely functional