gdata implementation of gspread methods
some other slight modifications i forgot to make