Ok, here's my lisp: ; ISSUED FOR CONSTRUCTION STAMP (DEFUN C:test (/ CMD OSN BS BN) (SETQ CMD (GETVAR "CMDECHO")) (SETQ OSN (GETVAR "OSMODE")) (SETVAR "OSMODE" 0) (SETVAR "CMDECHO" 0) (COMMAND "ZOOM" "EXTENTS") (SETQ VS (GETVAR "VIEWSIZE")) (setq BS (ssget "X" '((0 . "INSERT") (2 . "*CORP*")))) (SETQ BN (cdr (assoc 2 (entget (ssname bs 0))))) (SETQ SC (cdr (assoc 41 (entget (ssname bs 0))))) (SETQ VX (/ VS SC)) (INITGET "D I") (SETQ UI (GETKWORD " Is this a Demolition (D) or Installation (I)?: ")) (IF (NOT UI) (SETQ UI "I")) (COMMAND ".LAYER" "N" "STAMPS" "C" "249" "STAMPS" "S" "STAMPS" "") (COMMAND "LIMITS" "OFF") ;IF D-SIZE THEN DO THIS (COND ((< VX 25) (IF (EQ UI "D") (COMMAND ".-INSERT" "IFCD-D" "0,0" SC "" "")) (IF (= UI "I") (COMMAND ".-INSERT" "IFCI-D" "0,0" SC "" "")))) (COMMAND ".-RENAME" "B" BN "CORP-D"))) ;IF E-SIZE THEN DO THIS (COND ((> VX 30) (IF (EQ UI "D") (COMMAND ".-INSERT" "IFCD-E" "0,0" SC "" "")) (IF (= UI "I") (COMMAND ".-INSERT" "IFCI-E" "0,0" SC "" "")) (COMMAND ".LIMITS" "" "44,34"))) (COMMAND ".-REN" "B" BN "CORP-E"))) (COMMAND ".DRAWORDER" "L" "" "B" ".-LAYER" "LO" "STAMPS" "SET" "0" "") (IF (SETQ SSIMAGE (SSGET "X" '((0 . "IMAGE")))) (COMMAND ".DRAWORDER" SSIMAGE "" "B")) (SETVAR "CMDECHO" CMD) (SETVAR "OSMODE" OSN) (PRINT "THIS DRAWING HAS BEEN ISSUED FOR CONSTRUCTION") (PRINC)) And what it does is, when BN value is set to whatever is the current name of the block, and then it is changed to the proper name. if i run the same routine again, it flips out because BN is still not changed after it was renamed. Why does it remember the OLD BN? basically i can't run this routine twice without getting a error. HELP HELP HELP, also anything that could be simplified please let me know. Viktor