addedvalidation for a lot of stuff