adapt some shortcomings