we can get rid of those tests if we have separate implementations.