almost have validation working
validation is solid