-split implementation from class definition
-add missing mutators
-remove unused includes