eliminate boost dependency ?