make internal methods private, update comments