defined interface for reinforcement learning