separating testing utilities  from core utility functions