Restructure class files and provider