fix hoisting bug