Cairo

It's pretty far done, i think now is a good time for a merge.

As always open to comments,