run solver only once
moved map_tuples to the SOlution class;
cleaned up compiler.rb