refactor environ to piggyback off of frame