Seperating into header and implementation files