more validation, starting to thread stuff