added compile function SPEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED