added get_width and obtain_from_generic