plugin support, incomplete, untested