refactor, still breaks on 4th req