Moved generic extension to a better place