Overloaded new data types and added open () funtion