Think I have reached the limit of pipes for my knowledge and the task at hand, going to rewrite I think