add adaptive placeholders