added TODO
added By types for label, buttonLabel, type, and typeAndLabel