Developing a custom controller