do only one pass