(feat) cllient side validation complete