fix compile, more refactore (nlc)