oving#3 implementation