use metaclass
fixed order
made them as instancemethods
adjusted layout
dict-style