improve Visitor API