using #push instead of #<< for greater clarity