Made almost fully automatic compilation