Controllers design and functionality