validating works...really ugly tho