add nicePrint
fix bug
fix bug
fix bug
fix bug
fix bug
fix bug
fix bug
fix bug
fix bug