worker somewhat functional