use single shortcode_handler and catch missing default URL
add directory option and option default values
add and use cache time option
register settings and label option inputs
allow city name instead of url="xyz"