2nd version, examples passed