support hb & hd

1. redesign layout
1.  refactor to support hb & hd