add visual support, improve