work on improving plugin implementation