High Level controller
Mid Level controller
Low Level controller
Software modules