refactored to mirror the sturcture of comminity plugins repo