implemented first that takes string as second argument