split plugin into multiple files. much nicer