abstracted validate libs to their own files