still needs variable substitution