moved initializations to open() method. Also custom datatypes now inherit from Tuple