rename core_modal module to core_key
reimplement macro