starting class implementation