final blog framework