supported passing a plain object