split plugin into more files