now requires MainCore