rename function to make more sense with requirements