finished visitor class