added title to overlay, can take a string directly or an element with a data-title attribute
refactored modules, using overlays