checking edge conditions