syntax fix and compatibility fix