adapt
work in progress do not use