fix bug: return val + bool()
update