changed naming convention, removed unnecessary class structure, optimized code