changed a few methods to private