Thomas

Merge my prototype into the main branch.