added extract placeholder func