make invoke, getField, setField to accept symbols as well as strings