Version 2.7 (Discard some changes from 2.5, need more tests)