grid api

this might be better as a standalone method?