Added copy constructor, add some const modifiers to methods