Attempted Decoder stuff (using textbook logic) not sure how correct it is, also created the forwarder