 		return
 
 
-	# these need to be declared like pops
 	'&': (x, y, dir, index, stack) ->
-		stack.push 'programState.next()'
+		stack.push stack.next()
 		return
 
 
 	'~': (x, y, dir, index, stack) ->
-		stack.push 'programState.nextChar()'
+		stack.push stack.nextChar()
 		return
 
 

makeStack = (uid) ->
	stack = []
	pre = []
	int = []
	post = []
	exit = false

	stackish.dump = ->
		int.push """
			#{pre.join '\n'}
			#{read.join '\n'}
			programState.push(#{stack.join ', '})
			#{post.join '\n'}
		"""

		stack = []
		pre = []
		read = []
		post = []

		return
