split up prelude
fixed the dependency inferer
removed some excess syntax