requires Compat 2.7