parameterise everything on label type (int or string)