Split plugin into individual files fixes #34