added Compile module (plus some basic implementation)