abstract out createPlaceholder