enhancements: #32, 37,39