adding in ruby reflection stuff