selection works on squares, i'll figure the rest out later