Handles more scenarios