converted to stand-alone plugin