stripped down to framework base