lots of new functions to support characters; new example