generalize explode
generalize explode