adapt to current interface