A working version for all cases, unclear if 'Closeable' is correct implemneted.