maybe reverse the logic for readability