refactor: grid handles block drop