new plugin implementation and new tests