updating to allow multiple types