improve error msg
fix compile warning