constructor now allows fine-tunning of instance data handling