compatibility functions now split into their own file