Merged initialize() into constructor, add comments