3-tier output update