Added initial implementation for feature D.
Finished feature D.
Merge branch 'featureD'
Added implementation for feature E.
Finished feature E.