consolidating into one interface