default target = null
safe concat