deal with non-ascii characters
balance browser and device support
implement conditional notification
initialize data storage