working on push and pop methods