a little bit modify for BgoBase