Updated with Byron's additions.