merging #40 to 3.0+