compiles after removing references