reuse adapter
add fade animation