new label functionality as described in #80