move attributes_matching to public scope, escape key fragment to backend base