some further modifications