work on separating out the framing logic into its own type.