adding processing layer, msq queue layer, and UI layer