modify mixin system

add helper to create mix-in class
add make_map function