abstracting over tilesize