Added Qualifier enum and refatcored