initialise with dimensions or file name, add basic read/write functionality