before remove of generic