expanded the h to h and cpp files