switching to consumes interface