preserve class and def order