Fix ordering issue
Inheritance
Fix sorting
Add comments and move funcs around