diff --git a/PLati/algo.pks b/PLati/algo.pks
index 2549430..a5dcb5b 100644
--- a/PLati/algo.pks
+++ b/PLati/algo.pks
@@ -1,29 +1,30 @@
-CREATE OR REPLACE PACKAGE algo
-	CREATE OR REPLACE SUBTYPE ASTRING IS VARCHAR(128);
+CREATE OR REPLACE PACKAGE algo AS
+	SUBTYPE ASTRING IS VARCHAR(128);
 	-- ###
 	EMPTY_VAL CONSTANT CHAR(1) := '0';
 	TRUE_ CONSTANT CHAR(4) := 'true';
 	FALSE_ CONSTANT CHAR(5) := 'false';
 	-- ###
-	CREATE OR REPLACE PROCEDURE init;
+	PROCEDURE init;
 
-	CREATE OR REPLACE PROCEDURE assign_ (name_ ASTRING, val ASTRING);
+	PROCEDURE assign_ (name_ ASTRING, val ASTRING);
 
-	CREATE OR REPLACE FUNCTION arref IS ASTRING (s ASTRING);
-	CREATE OR REPLACE FUNCTION deref_ IS ASTRING (s ASTRING);
-	CREATE OR REPLACE FUNCTION aint IS INT (s ASTRING);
+	FUNCTION arref (s ASTRING) RETURN ASTRING;
+	FUNCTION deref_ (s ASTRING) RETURN ASTRING;
+	FUNCTION aint (s ASTRING) RETURN INT;
 
-	CREATE OR REPLACE PROCEDURE do_eval (opr1 ASTRING, oper CHAR, opr2 ASTRING);
+	PROCEDURE do_eval (opr1 ASTRING, oper CHAR, opr2 ASTRING);
 
-	CREATE OR REPLACE PROCEDURE pop (head INT);
-	CREATE OR REPLACE PROCEDURE push (head INT);
+	PROCEDURE pop (head INT);
+	PROCEDURE push (head INT);
 
-	CREATE OR REPLACE FUNCTION jump IS BOOLEAN (head INT, jmp INT, dest ASTRING, push CHAR);
-	CREATE OR REPLACE PROCEDURE call_ (head INT, jmp INT, dest ASTRING, is_push BOOLEAN);
-END algo;
+	FUNCTION jump (head INT, jmp INT, dest ASTRING, push CHAR) RETURN BOOLEAN;
+	PROCEDURE call_ (head INT, jmp INT, dest ASTRING, is_push BOOLEAN);
+END;
+/
 
 CREATE OR REPLACE PACKAGE BODY algo AS
-	CREATE OR REPLACE PROCEDURE init
+	PROCEDURE init IS
 	BEGIN
 		REPLACE INTO TABLE vars VALUES
 			('eval', ''),
@@ -39,21 +40,21 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 			('argv-8', ''),
 			('argv-9', '')
 		;
-	END
+	END;
 
 
 
-	CREATE OR REPLACE PROCEDURE assign_ (
+	PROCEDURE assign_ (
 		name_ VARCHAR(128),
 		val VARCHAR(128)
-	)
+	) IS
 	BEGIN
 		INSERT INTO vars (name_, val);
-	END
+	END;
 
 
 
-	CREATE OR REPLACE FUNCTION arref AS ASTRING (s ASTRING)
+	FUNCTION arref AS ASTRING (s ASTRING)
 	DECLARE 
 		p INT;
 		subs ASTRING;
@@ -70,7 +71,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 
 		RETURN s;
 	END;
-	CREATE OR REPLACE FUNCTION deref_ AS ASTRING (s ASTRING)
+	FUNCTION deref_ AS ASTRING (s ASTRING)
 		varval ASTRING;
 	BEGIN
 		s := arref(s);
@@ -80,7 +81,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 		WHEN OTHERS THEN
 			RETURN s;
 	END;
-	CREATE OR REPLACE FUNCTION aint AS INT (s ASTRING)
+	FUNCTION aint AS INT (s ASTRING)
 		sign_ BOOLEAN := TRUE;
 		i INT := 0;
 		buf ASTRING := '';
@@ -110,7 +111,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 
 
 
-	CREATE OR REPLACE PROCEDURE do_eval (opr1 ASTRING, oper CHAR, opr2 ASTRING)
+	PROCEDURE do_eval (opr1 ASTRING, oper CHAR, opr2 ASTRING)
 	DECLARE
 		res ASTRING := '';
 	BEGIN
@@ -129,7 +130,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 
 
 
-	CREATE OR REPLACE PROCEDURE pop (head INT)
+	PROCEDURE pop (head INT)
 	DECLARE
 		EMPTY_STACK EXCEPTION;
 	BEGIN
@@ -140,7 +141,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 		SELECT bp INTO HEAD FROM callstack WHERE rowid = (SELECT MAX(rowid) FROM callstack);
 		head := head + 1;
 	END;
-	CREATE OR REPLACE PROCEDURE push (head INT)
+	PROCEDURE push (head INT)
 	BEGIN
 		UPDATE callstack SET (bp, head) WHERE rowid = (SELECT MAX(rowid) FROM callstack);
 		INSERT INTO callstack VALUES (0);
@@ -148,7 +149,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 
 
 
-	CREATE OR REPLACE FUNCTION jump AS BOOLEAN (head INT, jmp INT, dest ASTRING, push CHAR)
+	FUNCTION jump AS BOOLEAN (head INT, jmp INT, dest ASTRING, push CHAR)
 	DECLARE
 		ret BOOLEAN = FALSE;
 	BEGIN
@@ -171,7 +172,7 @@ CREATE OR REPLACE PACKAGE BODY algo AS
 		END CASE;
 		RETURN ret;
 	END;
-	CREATE OR REPLACE PROCEDURE call_ (head INT, jmp INT, dest ASTRING, is_push BOOLEAN)
+	PROCEDURE call_ (head INT, jmp INT, dest ASTRING, is_push BOOLEAN)
 	BEGIN
 		IF dest = 'return' THEN
 			pop(head);
diff --git a/PLati/algo.tbl b/PLati/algo.tbl
index 0ebc265..5e365f5 100644
--- a/PLati/algo.tbl
+++ b/PLati/algo.tbl
@@ -1,8 +1,11 @@
-CREATE TABLE IF NOT EXISTS vars(
+DROP TABLE vars;
+DROP TABLE callstack;
+
+CREATE TABLE vars(
 	name VARCHAR2(128),
 	value VARCHAR2(128)
 );
 
-CREATE TABLE IF NOT EXISTS callstack(
+CREATE TABLE callstack(
 	bp INT
 );