Constructor

Putting the code up here, description to follow.