added Do method with tests