Separating declarations from definitions
Future possibility to choose between header-only or not
same