Seperate plugin into classes