changed properties and inaccessible functions to private