add placeholders and placeholder logic