add new operation and unit test