modified for clarity