adding the methodology of passing object to specify contexts measure and matcher. and recursive call to add multiple axis at once