merge with my wip branch

Merge with my wip branch.