assembler: implementing segments
TODO: clojure note