improving scheme 4