Separated the declaration and implementation of the class