What are these next three lines actually checking for?  Should these be more granular?