adding push and isEmpty