improved names of test variables
diplomatically handled @ElBrogrammer's power trip
added is_empty method and tests
updated code to call is_empty, rather than test for emptiness directly