added rest of the  checks