output class, rename 'private' functions