add ability to instantiate data from construct