value-type class hack