Uses optimizer class, doesn't optimize yet... Almost compiles.