implement block copy feature