work with validate before saving