Begining of class implementation