Tests

Not ready for merge yet, just WIP.