completes 1-3