use variable localparam to avoid name conflicts