TODO: semantic grid