Split into h and cpp