realisation of assign operator and copy constructor
change of push and pop signature