Revised interface slightly.