controller implementation without AR