expose visit fn

closes #3