update to lexical binding