fix bug with unbound let