implemented more validatoin