split robot logic, assigned roles