some compile warning fixed