do not use Closeable protocol