finished recursive compile