assign ref is faster than push