mv code to autoload
Add .gitignore, code restructure
remove duplicate code