adding in get-set implmentation switching