implement concatenate operator