checked everything for validation