Use the routines that provide "basic compile" instead of reinventing them.