checkpoint this plugin refactor
more files that i added for refactor