refactor of shortcodes