require sessions for all operations; added gfile read and write