Added implementation and calls for scenario 2.