added a new set_rgb function