Initial commit

Extremely experimental; untested. Please refrain from using until stable.