snipcaller and placeholdervalue can be siblings, and fix hack file bug