starting to move to component based UI code