Make this generic