added adaptiveHeight option