The compile and link functions