1. Abstract output class added