a big chunk of prelude stuff