use @setDataFrame instead of onMetaData; add useful logging