Designing code structure
Fixed some bugs
Renames