Added files written at work.
Ripped half the files to make it easier to implement them one by one.