copying and adapting