work for both 2.2 and 2.3