some more implementation of the transformer. still needs a lot of work.