fixed silly copy/paste error
added reducer
added code emiter, moved input+output below canvas