Constructor added
Constructor and part B through part C added.
Merge origin/master