adaptive placeholder