diff --git a/database/core.mysql b/database/core.mysql
new file mode 100644
index 0000000000000000000000000000000000000000..cc11f69d6b7e18c7284e913ddf67adbb2fdc59de
--- /dev/null
+++ b/database/core.mysql
@@ -0,0 +1,170 @@
+SET FOREIGN_KEY_CHECKS=0;
+
+
+
+/* Users */
+CREATE TABLE users (
+	ID			SERIAL,
+
+	Username		VARCHAR(255) NOT NULL,
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+	UNIQUE (Username)
+) TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+CREATE INDEX users_idx1 ON users (Username);
+
+
+
+/* User attributes */
+CREATE TABLE user_attributes (
+	ID			SERIAL,
+
+	UserID			BIGINT UNSIGNED NOT NULL,
+
+	Name			VARCHAR(255) NOT NULL,
+	Operator		VARCHAR(4) NOT NULL,
+	Value			VARCHAR(255),
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+	FOREIGN KEY (UserID) REFERENCES users(ID)
+) TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+
+
+
+/* Groups */
+CREATE TABLE groups (
+	ID			SERIAL,
+
+	Name			VARCHAR(255) NOT NULL,
+
+	Priority		SMALLINT NOT NULL,
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+	Comment			VARCHAR(1024)
+
+)  TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+CREATE INDEX groups_idx1 ON groups (Name);
+
+
+
+/* Group attributes */
+CREATE TABLE group_attributes (
+	ID			SERIAL,
+
+	GroupID			BIGINT UNSIGNED NOT NULL,
+
+	Name			VARCHAR(255) NOT NULL,
+	Operator		VARCHAR(4) NOT NULL,
+	Value			VARCHAR(255),
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+	FOREIGN KEY (GroupID) REFERENCES groups(ID)
+) TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+
+
+
+/* User to group mapping */
+CREATE TABLE users_to_groups (
+	ID			SERIAL,
+
+	UserID			BIGINT UNSIGNED NOT NULL,
+	GroupID			BIGINT UNSIGNED NOT NULL,
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+	Comment			VARCHAR(1024),
+
+	UNIQUE (UserID,GroupID),
+	FOREIGN KEY (UserID) REFERENCES users(ID),
+	FOREIGN KEY (GroupID) REFERENCES groups(ID)
+)  TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+CREATE INDEX users_to_groups_idx1 ON users_to_groups (UserID,GroupID);
+
+
+
+/* Realms */
+CREATE TABLE realms (
+	ID			SERIAL,
+
+	Name			VARCHAR(255) NOT NULL,
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0'
+
+)  TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+CREATE INDEX realms_idx1 ON realms (Name);
+
+
+
+/* Realm attributes */
+CREATE TABLE realm_attributes (
+	ID			SERIAL,
+
+	RealmID			BIGINT UNSIGNED NOT NULL,
+
+	Name			VARCHAR(255) NOT NULL,
+	Operator		VARCHAR(4) NOT NULL,
+	Value			VARCHAR(255),
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+	FOREIGN KEY (RealmID) REFERENCES realms(ID)
+) TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+
+
+
+/* Accounting */
+CREATE TABLE accounting (
+	ID			SERIAL,
+
+	Username		VARCHAR(255) NOT NULL,
+
+	ServiceType		INT UNSIGNED NOT NULL,
+
+	FramedProtocol		INT UNSIGNED NOT NULL, 
+
+	NASPort			VARCHAR(255) NOT NULL,
+		
+	NASPortType		INT UNSIGNED NOT NULL,
+
+	CallingStationID	VARCHAR(255) NOT NULL, 
+
+	CalledStationID		VARCHAR(255) NOT NULL,
+
+	NASPortID		VARCHAR(255) NOT NULL,
+
+	AcctSessionID		VARCHAR(255) NOT NULL,
+	
+	FramedIPAddress		VARCHAR(16) NOT NULL,
+
+	AcctAuthentic		INT UNSIGNED NOT NULL,
+
+	EventTimestamp		DATETIME NOT NULL,
+
+	NASIdentifier		VARCHAR(255) NOT NULL,	
+
+	NASIPAddress		VARCHAR(16) NOT NULL,
+
+	AcctDelayTime		INT UNSIGNED NOT NULL,
+
+	AcctSessionTime		INT UNSIGNED NOT NULL,
+
+	AcctInputOctets		INT UNSIGNED NOT NULL,
+
+	AcctInputGigawords	INT UNSIGNED NOT NULL,
+
+	AcctInputPackets	INT UNSIGNED NOT NULL,	
+
+	AcctOutputOctets	INT UNSIGNED NOT NULL,
+
+	AcctOutputGigawords	INT UNSIGNED NOT NULL,
+
+	AcctOutputPackets	INT UNSIGNED NOT NULL,
+
+	AcctStatusType		INT UNSIGNED NOT NULL,
+
+	AcctTerminateCause	INT UNSIGNED NOT NULL
+) TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+CREATE INDEX accounting_idx1 ON accounting (Username);
diff --git a/database/core.tsql b/database/core.tsql
index f0d4610b292acaaf928848fea893ac9fe8727853..4d9608d95234156bcd6272be2b5d5f68bd448d08 100644
--- a/database/core.tsql
+++ b/database/core.tsql
@@ -1,5 +1,7 @@
 @PRELOAD@
 
+
+
 /* Users */
 CREATE TABLE @PREFIX@users (
 	ID			@SERIAL_TYPE@,
@@ -13,6 +15,7 @@ CREATE TABLE @PREFIX@users (
 CREATE INDEX @PREFIX@users_idx1 ON @PREFIX@users (Username);
 
 
+
 /* User attributes */
 CREATE TABLE @PREFIX@user_attributes (
 	ID			@SERIAL_TYPE@,
@@ -29,6 +32,7 @@ CREATE TABLE @PREFIX@user_attributes (
 ) @CREATE_TABLE_SUFFIX@;
 
 
+
 /* Groups */
 CREATE TABLE @PREFIX@groups (
 	ID			@SERIAL_TYPE@,
@@ -45,6 +49,7 @@ CREATE TABLE @PREFIX@groups (
 CREATE INDEX @PREFIX@groups_idx1 ON @PREFIX@groups (Name);
 
 
+
 /* Group attributes */
 CREATE TABLE @PREFIX@group_attributes (
 	ID			@SERIAL_TYPE@,
@@ -61,6 +66,7 @@ CREATE TABLE @PREFIX@group_attributes (
 ) @CREATE_TABLE_SUFFIX@;
 
 
+
 /* User to group mapping */
 CREATE TABLE @PREFIX@users_to_groups (
 	ID			@SERIAL_TYPE@,
@@ -78,6 +84,37 @@ CREATE TABLE @PREFIX@users_to_groups (
 CREATE INDEX @PREFIX@users_to_groups_idx1 ON @PREFIX@users_to_groups (UserID,GroupID);
 
 
+
+/* Realms */
+CREATE TABLE @PREFIX@realms (
+	ID			@SERIAL_TYPE@,
+
+	Name			VARCHAR(255) NOT NULL,
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+)  @CREATE_TABLE_SUFFIX@;
+CREATE INDEX @PREFIX@realms_idx1 ON @PREFIX@realms (Name);
+
+
+
+/* Realm attributes */
+CREATE TABLE @PREFIX@realm_attributes (
+	ID			@SERIAL_TYPE@,
+
+	RealmID			@SERIAL_REF_TYPE@ NOT NULL,
+
+	Name			VARCHAR(255) NOT NULL,
+	Operator		VARCHAR(4) NOT NULL,
+	Value			VARCHAR(255),
+
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
+
+	FOREIGN KEY (RealmID) REFERENCES @PREFIX@realms(ID)
+) @CREATE_TABLE_SUFFIX@;
+
+
+
 /* Accounting */
 CREATE TABLE @PREFIX@accounting (
 	ID			@SERIAL_TYPE@,
@@ -131,5 +168,3 @@ CREATE TABLE @PREFIX@accounting (
 	AcctTerminateCause	INT UNSIGNED NOT NULL
 ) @CREATE_TABLE_SUFFIX@;
 CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username);
-
-/* FIXME: indexes */
diff --git a/database/wisp.mysql b/database/wisp.mysql
new file mode 100644
index 0000000000000000000000000000000000000000..1429b91132d63d2c247f5c51c999f3e5a46efe41
--- /dev/null
+++ b/database/wisp.mysql
@@ -0,0 +1,19 @@
+SET FOREIGN_KEY_CHECKS=0;
+
+/* User Data */
+CREATE TABLE userdata (
+	ID			SERIAL,
+
+	UserID			BIGINT UNSIGNED NOT NULL,
+
+	FirstName		VARCHAR(255) NOT NULL,
+	LastName		VARCHAR(255) NOT NULL,
+
+	Email			VARCHAR(255) NOT NULL,
+	Phone			VARCHAR(20) NOT NULL,
+	Location		VARCHAR(255) NOT NULL,
+	
+	UNIQUE (UserID),
+	FOREIGN KEY (UserID) REFERENCES users(ID)
+)  TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin;
+CREATE INDEX userdata_idx1 ON userdata (UserID);
diff --git a/database/wisp.tsql b/database/wisp.tsql
new file mode 100644
index 0000000000000000000000000000000000000000..44493d7552f6f584c9a8256c0580bb37c7b33d6f
--- /dev/null
+++ b/database/wisp.tsql
@@ -0,0 +1,19 @@
+@PRELOAD@
+
+/* User Data */
+CREATE TABLE @PREFIX@userdata (
+	ID			@SERIAL_TYPE@,
+
+	UserID			@SERIAL_REF_TYPE@ NOT NULL,
+
+	FirstName		VARCHAR(255) NOT NULL,
+	LastName		VARCHAR(255) NOT NULL,
+
+	Email			VARCHAR(255) NOT NULL,
+	Phone			VARCHAR(20) NOT NULL,
+	Location		VARCHAR(255) NOT NULL,
+	
+	UNIQUE (UserID),
+	FOREIGN KEY (UserID) REFERENCES @PREFIX@users(ID)
+)  @CREATE_TABLE_SUFFIX@;
+CREATE INDEX @PREFIX@userdata_idx1 ON @PREFIX@userdata (UserID);