added mutual condition validation

and also fixed timing of updating properties