add tests
fix is_constructible