added initial plugin implementation