moved unnecessary functions to private.
godoc