fixed complie errors