basic support for add/remove properties