added fixed crossover support
started variable length ops