Tests

WIP, not ready for review/merge.