separated properties into variable, placeholders and declarations