modified plugin structure based on pull feedback