Massive reshuffle

 - Use PPI to compile instead
 - Works as an API rather