external modification by Ethan