update the views and handler, add innerCache feature