adding controller & view interfaces