Functional back to master

Merging Functional back to Master, in preparation for a few specific branches