add some function, hide other blocks when hover, and used state block