diff --git a/forge/basic.frg b/forge/basic.frg
new file mode 100644
index 0000000..341696f
--- /dev/null
+++ b/forge/basic.frg
@@ -0,0 +1,7 @@
+; basic.frg
+
+(dup mul) comp in square reg
+
+(comp in reg) comp in def reg
+
+(dup dup mul mul) def cube
diff --git a/forge/forge.lisp b/forge/forge.lisp
index b8f1df7..fd2b919 100644
--- a/forge/forge.lisp
+++ b/forge/forge.lisp
@@ -163,7 +163,7 @@
#:? #:??
#:ptr #:get #:put
#:in #:next
- #:call #:call-if #:call-while #:comp #:val
+ #:call #:call-if #:call-while #:lit #:val
#:))
(in-package :sf-builtin)
@@ -200,10 +200,10 @@
(f:reg 'in #'(lambda () (f:pushd (iter:next-value f:*input*))))
(f:reg 'next #'f:next)
-(f:reg 'comp #'(lambda () (cons (f:popd) f::*buffer*)))
(f:reg 'call #'(lambda () (f:call (f:popd))))
(f:reg 'call-if #'call-if)
(f:reg 'call-while #'call-while)
+(f:reg 'lit #'(lambda () (cons (f:popd) f::*buffer*)))
(f:reg 'val #'(lambda () (f:pushd (list #'f:next (f:popd)))))
(f:reg ' in )))
+ (forge:exec-list '()))