#25 implement rect selection