add invoke and getproperties methods