base on beangle 4.1.0