push smart&&string