added return *this to push method