adding other tests
making some code a bit easier to follow
adding label support
don't set label as a property