Code

Merge early parts of branch 'ff/c99'