better logic for handling out of hearts