tidy up white space and explain edge checker