Almost header-only now; split sample and tests