properly updated .hpp