added generic id, fixed type of is_generic