resolve build fail, but still ugly because const re-write