base and main controller skeleton defined