#115 fix multiple points of failure by requiring title to be a string, and defaulting it to empty string ''