refactored to not use Pipes