implement parameter reading & substitution