features and usage added, changed some set method sigs