app consumer refactor