initial commit, with passing node specs, and working push and pop methods