restructure code and folders