adding ability to call arbitrary methods