added learn controller