add class implementation