split prelude.go into multiple files