diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php
index 25728ed5e3..f00bf0ea58 100644
--- a/app/Models/TransactionJournal.php
+++ b/app/Models/TransactionJournal.php
@@ -158,7 +158,7 @@ class TransactionJournal extends Model
         $transaction = $this->transactions->sortByDesc('amount')->first();
         $amount      = $transaction->amount;
         if ($this->isWithdrawal()) {
-            $amount = $amount * -1;
+            $amount = bcmul($amount, '-1');
         }
         $cache->store($amount);
 
diff --git a/app/Support/Migration/TestData.php b/app/Support/Migration/TestData.php
index da34e4061c..7a8548faed 100644
--- a/app/Support/Migration/TestData.php
+++ b/app/Support/Migration/TestData.php
@@ -39,6 +39,8 @@ use Log;
  */
 class TestData
 {
+
+
     /**
      * @param User $user
      */
@@ -99,7 +101,7 @@ class TestData
             [
                 'account_id'             => $fromAccount->id,
                 'transaction_journal_id' => $journal->id,
-                'amount'                 => -100,
+                'amount'                 => '-100',
 
             ]
         );
@@ -229,6 +231,88 @@ class TestData
         }
     }
 
+    /**
+     * @param User   $user
+     * @param Carbon $date
+     *
+     * @return static
+     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+     */
+    public static function createCar(User $user, Carbon $date)
+    {
+        // twice:
+        $date        = new Carbon($date->format('Y-m') . '-10'); // paid on 10th
+        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+        $toAccount   = TestData::findAccount($user, 'Shell');
+        $category    = Category::firstOrCreateEncrypted(['name' => 'Car', 'user_id' => $user->id]);
+        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Car', 'user_id' => $user->id]);
+        $amount      = strval(rand(4000, 5000) / 100);
+        $journal     = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 1,
+                'transaction_currency_id' => 1,
+                'description'             => 'Bought gas',
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => bcmul($amount, '-1'),
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount,
+
+            ]
+        );
+        $journal->categories()->save($category);
+        $journal->budgets()->save($budget);
+
+        // and again!
+        $date   = new Carbon($date->format('Y-m') . '-20'); // paid on 20th
+        $amount = rand(4000, 5000) / 100;
+
+
+        $journal = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 1,
+                'transaction_currency_id' => 1,
+                'description'             => 'Gas for car',
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount * -1,
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount,
+
+            ]
+        );
+
+        // and again!
+
+        return $journal;
+    }
+
     /**
      * @param User $user
      */
@@ -238,6 +322,64 @@ class TestData
         Category::firstOrCreateEncrypted(['name' => 'Car', 'user_id' => $user->id]);
     }
 
+    /**
+     * @param Carbon $date
+     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+     */
+    public static function createDrinksAndOthers(User $user, Carbon $date)
+    {
+        $start = clone $date;
+        $end   = clone $date;
+        $today = new Carbon;
+        $start->startOfMonth();
+        $end->endOfMonth();
+        $current = clone $start;
+        while ($current < $end && $current < $today) {
+
+            // weekly drink:
+            $thisDate = clone $current;
+            $thisDate->addDay();
+            $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+            $toAccount   = TestData::findAccount($user, 'Cafe Central');
+            $category    = Category::firstOrCreateEncrypted(['name' => 'Drinks', 'user_id' => $user->id]);
+            $budget      = Budget::firstOrCreateEncrypted(['name' => 'Going out', 'user_id' => $user->id]);
+            $amount      = strval(rand(1500, 3600) / 100);
+            $journal     = TransactionJournal::create(
+                [
+                    'user_id'                 => $user->id,
+                    'transaction_type_id'     => 1,
+                    'transaction_currency_id' => 1,
+                    'description'             => 'Going out for drinks',
+                    'completed'               => 1,
+                    'date'                    => $thisDate,
+                ]
+            );
+            Transaction::create(
+                [
+                    'account_id'             => $fromAccount->id,
+                    'transaction_journal_id' => $journal->id,
+                    'amount'                 => bcmul($amount, '-1'),
+
+                ]
+            );
+            Transaction::create(
+                [
+                    'account_id'             => $toAccount->id,
+                    'transaction_journal_id' => $journal->id,
+                    'amount'                 => $amount,
+
+                ]
+            );
+            $journal->categories()->save($category);
+            $journal->budgets()->save($budget);
+
+            // shopping at some (online) shop:
+
+
+            $current->addWeek();
+        }
+    }
+
     /**
      * @param User $user
      */
@@ -263,53 +405,61 @@ class TestData
 
     /**
      * @param User   $user
-     * @param string $description
      * @param Carbon $date
-     * @param string $amount
-     *
-     * @return TransactionJournal
+     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
      */
-    public static function createRent(User $user, string $description, Carbon $date, string $amount): TransactionJournal
+    public static function createGroceries(User $user, Carbon $date)
     {
-        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
-        $toAccount   = TestData::findAccount($user, 'Land lord');
-        $category    = Category::firstOrCreateEncrypted(['name' => 'Rent', 'user_id' => $user->id]);
-        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $user->id]);
-        $journal     = TransactionJournal::create(
-            [
-                'user_id'                 => $user->id,
-                'transaction_type_id'     => 1,
-                'transaction_currency_id' => 1,
-                'bill_id'                 => 1,
-                'description'             => $description,
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
+        $start = clone $date;
+        $end   = clone $date;
+        $today = new Carbon;
+        $start->startOfMonth();
+        $end->endOfMonth();
 
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount,
+        $fromAccount  = TestData::findAccount($user, 'TestData Checking Account');
+        $stores       = ['Albert Heijn', 'PLUS', 'Bakker'];
+        $descriptions = ['Groceries', 'Bought some groceries', 'Got groceries'];
+        $category     = Category::firstOrCreateEncrypted(['name' => 'Daily groceries', 'user_id' => $user->id]);
+        $budget       = Budget::firstOrCreateEncrypted(['name' => 'Groceries', 'user_id' => $user->id]);
 
-            ]
-        );
-        $journal->categories()->save($category);
-        $journal->budgets()->save($budget);
+        $current = clone $start;
+        while ($current < $end && $current < $today) {
+            // daily groceries:
+            $amount    = rand(1500, 2500) / 100;
+            $toAccount = TestData::findAccount($user, $stores[rand(0, count($stores) - 1)]);
 
-        return $journal;
+            $journal = TransactionJournal::create(
+                [
+                    'user_id'                 => $user->id,
+                    'transaction_type_id'     => 1,
+                    'transaction_currency_id' => 1,
+                    'description'             => $descriptions[rand(0, count($descriptions) - 1)],
+                    'completed'               => 1,
+                    'date'                    => $current,
+                ]
+            );
+            Transaction::create(
+                [
+                    'account_id'             => $fromAccount->id,
+                    'transaction_journal_id' => $journal->id,
+                    'amount'                 => $amount * -1,
 
+                ]
+            );
+            Transaction::create(
+                [
+                    'account_id'             => $toAccount->id,
+                    'transaction_journal_id' => $journal->id,
+                    'amount'                 => $amount,
+
+                ]
+            );
+            $journal->categories()->save($category);
+            $journal->budgets()->save($budget);
+            $current->addDay();
+        }
     }
 
-
     /**
      * @param User   $user
      * @param string $description
@@ -344,7 +494,7 @@ class TestData
             [
                 'account_id'             => $fromAccount->id,
                 'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
+                'amount'                 => bcmul($amount, '-1'),
 
             ]
         );
@@ -500,6 +650,104 @@ class TestData
 
     }
 
+    /**
+     * @param        $description
+     * @param Carbon $date
+     * @param        $amount
+     *
+     * @return TransactionJournal
+     */
+    public static function createPower(User $user, string $description, Carbon $date, string $amount)
+    {
+        $date        = new Carbon($date->format('Y-m') . '-06'); // paid on 10th
+        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+        $toAccount   = TestData::findAccount($user, 'Greenchoice');
+        $category    = Category::firstOrCreateEncrypted(['name' => 'House', 'user_id' => $user->id]);
+        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $user->id]);
+        $journal     = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 1,
+                'transaction_currency_id' => 1,
+                'description'             => $description,
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        if ($journal->getErrors()->count() > 0) {
+            echo $journal->getErrors()->first();
+        }
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => bcmul($amount, '-1'),
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount,
+
+            ]
+        );
+        $journal->categories()->save($category);
+        $journal->budgets()->save($budget);
+
+        return $journal;
+
+    }
+
+    /**
+     * @param User   $user
+     * @param string $description
+     * @param Carbon $date
+     * @param string $amount
+     *
+     * @return TransactionJournal
+     */
+    public static function createRent(User $user, string $description, Carbon $date, string $amount): TransactionJournal
+    {
+        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+        $toAccount   = TestData::findAccount($user, 'Land lord');
+        $category    = Category::firstOrCreateEncrypted(['name' => 'Rent', 'user_id' => $user->id]);
+        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $user->id]);
+        $journal     = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 1,
+                'transaction_currency_id' => 1,
+                'bill_id'                 => 1,
+                'description'             => $description,
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => bcmul($amount, '-1'),
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount,
+
+            ]
+        );
+        $journal->categories()->save($category);
+        $journal->budgets()->save($budget);
+
+        return $journal;
+
+    }
+
     /**
      * @param User $user
      */
@@ -599,6 +847,99 @@ class TestData
         );
     }
 
+    /**
+     * @param Carbon $date
+     *
+     * @return TransactionJournal
+     */
+    public static function createSavings(User $user, Carbon $date): TransactionJournal
+    {
+        $date        = new Carbon($date->format('Y-m') . '-24'); // paid on 24th.
+        $toAccount   = TestData::findAccount($user, 'TestData Savings');
+        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+        $category    = Category::firstOrCreateEncrypted(['name' => 'Money management', 'user_id' => $user->id]);
+        // create journal:
+
+        $journal = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 3,
+                'transaction_currency_id' => 1,
+                'description'             => 'Save money',
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => -150,
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => 150,
+
+            ]
+        );
+        $journal->categories()->save($category);
+
+        return $journal;
+
+    }
+
+    /**
+     * @param User   $user
+     * @param string $description
+     * @param Carbon $date
+     * @param string $amount
+     *
+     * @return static
+     */
+    public static function createTV(User $user, string $description, Carbon $date, string $amount)
+    {
+        $date        = new Carbon($date->format('Y-m') . '-15'); // paid on 10th
+        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+        $toAccount   = TestData::findAccount($user, 'XS4All');
+        $category    = Category::firstOrCreateEncrypted(['name' => 'House', 'user_id' => $user->id]);
+        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $user->id]);
+        $journal     = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 1,
+                'transaction_currency_id' => 1,
+                'description'             => $description,
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => bcmul($amount, '-1'),
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount,
+
+            ]
+        );
+        $journal->categories()->save($category);
+        $journal->budgets()->save($budget);
+
+        return $journal;
+
+    }
+
     /**
      * @param User        $user
      * @param Carbon|null $date
@@ -638,6 +979,54 @@ class TestData
         return $user;
     }
 
+    /**
+     * @param User   $user
+     * @param string $description
+     * @param Carbon $date
+     * @param string $amount
+     *
+     * @return static
+     */
+    public static function createWater(User $user, string $description, Carbon $date, string $amount): TransactionJournal
+    {
+        $date        = new Carbon($date->format('Y-m') . '-10'); // paid on 10th
+        $fromAccount = TestData::findAccount($user, 'TestData Checking Account');
+        $toAccount   = TestData::findAccount($user, 'Vitens');
+        $category    = Category::firstOrCreateEncrypted(['name' => 'House', 'user_id' => $user->id]);
+        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $user->id]);
+        $journal     = TransactionJournal::create(
+            [
+                'user_id'                 => $user->id,
+                'transaction_type_id'     => 1,
+                'transaction_currency_id' => 1,
+                'description'             => $description,
+                'completed'               => 1,
+                'date'                    => $date,
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $fromAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => bcmul($amount, '-1'),
+
+            ]
+        );
+        Transaction::create(
+            [
+                'account_id'             => $toAccount->id,
+                'transaction_journal_id' => $journal->id,
+                'amount'                 => $amount,
+
+            ]
+        );
+        $journal->categories()->save($category);
+        $journal->budgets()->save($budget);
+
+        return $journal;
+
+    }
+
     /**
      * @param User $user
      * @param      $name
diff --git a/app/Support/Steam.php b/app/Support/Steam.php
index e896c65c8c..3592c1cd88 100644
--- a/app/Support/Steam.php
+++ b/app/Support/Steam.php
@@ -133,7 +133,7 @@ class Steam
         $result = [];
         foreach ($balances as $entry) {
             $accountId          = intval($entry->account_id);
-            $balance            = round($entry->aggregate, 2);
+            $balance            = $entry->aggregate;
             $result[$accountId] = $balance;
         }
 
diff --git a/database/seeds/OldTestDataSeeder.php b/database/seeds/OldTestDataSeeder.php
deleted file mode 100644
index 856ffe164c..0000000000
--- a/database/seeds/OldTestDataSeeder.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-use Carbon\Carbon;
-use FireflyIII\Models\Account;
-use FireflyIII\Models\Attachment;
-use FireflyIII\Models\Category;
-use FireflyIII\Models\Role;
-use FireflyIII\Models\Transaction;
-use FireflyIII\Models\TransactionJournal;
-use FireflyIII\Support\Migration\TestData;
-use FireflyIII\User;
-use Illuminate\Database\Seeder;
-
-/**
- * Class OldTestDataSeeder
- */
-class OldTestDataSeeder extends Seeder
-{
-    /** @var  Carbon */
-    public $start;
-
-    /**
-     * TestDataSeeder constructor.
-     */
-    public function __construct()
-    {
-        $this->start = Carbon::create()->subYear()->startOfYear();
-
-    }
-
-    /**
-     * Run the database seeds.
-     *
-     * @return void
-     */
-    public function run()
-    {
-        // create budget limits for these budgets
-//        TestData::createBudgetLimit($user, new Carbon, 'Groceries', 400);
-//        TestData::createBudgetLimit($user, new Carbon, 'Bills', 1000);
-//        TestData::createBudgetLimit($user, new Carbon, 'Car', 100);
-
-        // create some categories for user #1
-        $this->createCategories($user);
-
-        // create some piggy banks for user #1
-        TestData::createPiggybanks($user);
-
-        // create some expense accounts for user #1
-        $this->createExpenseAccounts($user);
-
-        // create some revenue accounts for user #1
-        $this->createRevenueAccounts($user);
-
-        // create journal + attachment:
-        TestData::createAttachments($user, $this->start);
-
-        // create opening balance for savings account:
-        $this->openingBalanceSavings($user);
-
-        // need at least one rule group and one rule:
-        TestData::createRules($user);
-
-        // create a tag:
-        TestData::createTags($user);
-    }
-
-}
diff --git a/database/seeds/TestDataSeeder.php b/database/seeds/TestDataSeeder.php
index fb281c39b3..663f5656e5 100644
--- a/database/seeds/TestDataSeeder.php
+++ b/database/seeds/TestDataSeeder.php
@@ -64,25 +64,24 @@ class TestDataSeeder extends Seeder
 
             // pay bills:
             TestData::createRent($user, 'Rent for ' . $month, $current, '800');
-            //            $this->createWater('Water bill for ' . $month, $current, 15);
-            //            $this->createTV('TV bill for ' . $month, $current, 60);
-            //            $this->createPower('Power bill for ' . $month, $current, 120);
-
+            TestData::createWater($user, 'Water bill for ' . $month, $current, '15');
+            TestData::createTV($user, 'TV bill for ' . $month, $current, '60');
+            TestData::createPower($user, 'Power bill for ' . $month, $current, '120');
 
             // pay daily groceries:
-            //            $this->createGroceries($current);
+            TestData::createGroceries($user, $current);
 
             // create tag (each type of tag, for date):
-            //            TestData::createTags($this->user, $current);
+            TestData::createTags($user, $current);
 
             // go out for drinks:
-            //            $this->createDrinksAndOthers($current);
+            TestData::createDrinksAndOthers($user, $current);
 
             // save money every month:
-            //            $this->createSavings($current);
+            TestData::createSavings($user, $current);
 
             // buy gas for the car every month:
-            //            $this->createCar($current);
+            TestData::createCar($user, $current);
 
             // create budget limits.
             TestData::createBudgetLimit($user, $current, 'Groceries', '400');
diff --git a/database/seeds/VisualTestDataSeeder.php b/database/seeds/VisualTestDataSeeder.php
deleted file mode 100644
index 0db640c9b0..0000000000
--- a/database/seeds/VisualTestDataSeeder.php
+++ /dev/null
@@ -1,1043 +0,0 @@
-<?php
-use Carbon\Carbon;
-use FireflyIII\Models\Account;
-use FireflyIII\Models\Bill;
-use FireflyIII\Models\Budget;
-use FireflyIII\Models\Category;
-use FireflyIII\Models\PiggyBank;
-use FireflyIII\Models\Preference;
-use FireflyIII\Models\Role;
-use FireflyIII\Models\Rule;
-use FireflyIII\Models\RuleAction;
-use FireflyIII\Models\RuleGroup;
-use FireflyIII\Models\RuleTrigger;
-use FireflyIII\Models\Tag;
-use FireflyIII\Models\Transaction;
-use FireflyIII\Models\TransactionJournal;
-use FireflyIII\Support\Migration\TestData;
-use FireflyIII\User;
-use Illuminate\Database\Seeder;
-
-
-/**
- *
- * Class TestDataSeeder
- * @SuppressWarnings(PHPMD.ExcessiveClassLength)
- * @SuppressWarnings(PHPMD.TooManyMethods)
- */
-class VisualTestDataSeeder extends Seeder
-{
-
-    /** @var  Carbon */
-    public $end;
-    /** @var  Carbon */
-    public $start;
-
-    /**
-     * TestDataSeeder constructor.
-     */
-    public function __construct()
-    {
-        $this->start = Carbon::create()->subYears(2)->startOfYear();
-        $this->end   = Carbon::now();
-
-    }
-
-    /**
-     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
-     */
-    public function run()
-    {
-        $this->createUsers();
-
-        // create accounts:
-        TestData::createAssetAccounts($this->user);
-        $this->createExpenseAccounts();
-        $this->createRevenueAccounts();
-        TestData::createBills($this->user);
-        TestData::createPiggybanks($this->user);
-
-        // create some budgets for user
-        TestData::createBudgets($this->user);
-
-        $this->createRules();
-
-        // preference to only see account #1 on frontpage.
-        $this->createPreferences();
-
-        // dates:
-        $start = Carbon::now()->subYears(2)->startOfMonth();
-        $end   = Carbon::now()->endOfDay();
-
-        // create journal + attachment:
-        TestData::createAttachments($this->user, $start);
-
-
-        $current = clone $start;
-        while ($current < $end) {
-            $month = $current->format('F Y');
-            // create salaries:
-            $this->createIncome('Salary ' . $month, $current, rand(2000, 2100));
-
-            // pay bills:
-            $this->createRent('Rent for ' . $month, $current, 800);
-            $this->createWater('Water bill for ' . $month, $current, 15);
-            $this->createTV('TV bill for ' . $month, $current, 60);
-            $this->createPower('Power bill for ' . $month, $current, 120);
-
-
-            // pay daily groceries:
-            $this->createGroceries($current);
-
-            // create tag (each type of tag, for date):
-            TestData::createTags($this->user, $current);
-
-            // go out for drinks:
-            $this->createDrinksAndOthers($current);
-
-            // save money every month:
-            $this->createSavings($current);
-
-            // buy gas for the car every month:
-            $this->createCar($current);
-
-            // budget limit for this month, on "Groceries".
-            TestData::createBudgetLimit($this->user, $current, 'Groceries', 400);
-            TestData::createBudgetLimit($this->user, $current, 'Bills', 1000);
-            TestData::createBudgetLimit($this->user, $current, 'Car', 100);
-
-            echo 'Created test data for ' . $month . "\n";
-            $current->addMonth();
-        }
-
-    }
-
-    /**
-     * @param $date
-     *
-     * @return static
-     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
-     */
-    protected function createCar($date)
-    {
-        // twice:
-        $date        = new Carbon($date->format('Y-m') . '-10'); // paid on 10th
-        $fromAccount = TestData::findAccount($this->user, 'TestData Checking Account');
-        $toAccount   = TestData::findAccount($this->user, 'Shell');
-        $category    = Category::firstOrCreateEncrypted(['name' => 'Car', 'user_id' => $this->user->id]);
-        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Car', 'user_id' => $this->user->id]);
-        $amount      = rand(4000, 5000) / 100;
-        $journal     = TransactionJournal::create(
-            [
-                'user_id'                 => $this->user->id,
-                'transaction_type_id'     => 1,
-                'transaction_currency_id' => 1,
-                'description'             => 'Bought gas',
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
-
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount,
-
-            ]
-        );
-        $journal->categories()->save($category);
-        $journal->budgets()->save($budget);
-
-        // and again!
-        $date   = new Carbon($date->format('Y-m') . '-20'); // paid on 20th
-        $amount = rand(4000, 5000) / 100;
-
-
-        $journal = TransactionJournal::create(
-            [
-                'user_id'                 => $this->user->id,
-                'transaction_type_id'     => 1,
-                'transaction_currency_id' => 1,
-                'description'             => 'Gas for car',
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
-
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount,
-
-            ]
-        );
-
-        // and again!
-
-        return $journal;
-    }
-
-    /**
-     * @param Carbon $date
-     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
-     */
-    protected function createDrinksAndOthers(Carbon $date)
-    {
-        $start = clone $date;
-        $end   = clone $date;
-        $today = new Carbon;
-        $start->startOfMonth();
-        $end->endOfMonth();
-        $current = clone $start;
-        while ($current < $end && $current < $today) {
-
-            // weekly drink:
-            $thisDate = clone $current;
-            $thisDate->addDay();
-            $fromAccount = TestData::findAccount($this->user, 'TestData Checking Account');
-            $toAccount   = TestData::findAccount($this->user, 'Cafe Central');
-            $category    = Category::firstOrCreateEncrypted(['name' => 'Drinks', 'user_id' => $this->user->id]);
-            $budget      = Budget::firstOrCreateEncrypted(['name' => 'Going out', 'user_id' => $this->user->id]);
-            $amount      = rand(1500, 3600) / 100;
-            $journal     = TransactionJournal::create(
-                [
-                    'user_id'                 => $this->user->id,
-                    'transaction_type_id'     => 1,
-                    'transaction_currency_id' => 1,
-                    'description'             => 'Going out for drinks',
-                    'completed'               => 1,
-                    'date'                    => $thisDate,
-                ]
-            );
-            Transaction::create(
-                [
-                    'account_id'             => $fromAccount->id,
-                    'transaction_journal_id' => $journal->id,
-                    'amount'                 => $amount * -1,
-
-                ]
-            );
-            Transaction::create(
-                [
-                    'account_id'             => $toAccount->id,
-                    'transaction_journal_id' => $journal->id,
-                    'amount'                 => $amount,
-
-                ]
-            );
-            $journal->categories()->save($category);
-            $journal->budgets()->save($budget);
-
-            // shopping at some (online) shop:
-
-
-            $current->addWeek();
-        }
-    }
-
-    protected function createExpenseAccounts()
-    {
-        $expenses = ['Adobe', 'Google', 'Vitens', 'Albert Heijn', 'PLUS', 'Apple', 'Bakker', 'Belastingdienst', 'bol.com', 'Cafe Central', 'conrad.nl',
-                     'coolblue', 'Shell',
-                     'DUO', 'Etos', 'FEBO', 'Greenchoice', 'Halfords', 'XS4All', 'iCentre', 'Jumper', 'Land lord'];
-        foreach ($expenses as $name) {
-            // create account:
-            Account::create(
-                [
-                    'user_id'         => $this->user->id,
-                    'account_type_id' => 4,
-                    'name'            => $name,
-                    'active'          => 1,
-                    'encrypted'       => 1,
-                ]
-            );
-        }
-
-    }
-
-    /**
-     * @param Carbon $date
-     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
-     */
-    protected function createGroceries(Carbon $date)
-    {
-        $start = clone $date;
-        $end   = clone $date;
-        $today = new Carbon;
-        $start->startOfMonth();
-        $end->endOfMonth();
-
-        $fromAccount  = TestData::findAccount($this->user, 'TestData Checking Account');
-        $stores       = ['Albert Heijn', 'PLUS', 'Bakker'];
-        $descriptions = ['Groceries', 'Bought some groceries', 'Got groceries'];
-        $category     = Category::firstOrCreateEncrypted(['name' => 'Daily groceries', 'user_id' => $this->user->id]);
-        $budget       = Budget::firstOrCreateEncrypted(['name' => 'Groceries', 'user_id' => $this->user->id]);
-
-        $current = clone $start;
-        while ($current < $end && $current < $today) {
-            // daily groceries:
-            $amount    = rand(1500, 2500) / 100;
-            $toAccount = TestData::findAccount($this->user, $stores[rand(0, count($stores) - 1)]);
-
-            $journal = TransactionJournal::create(
-                [
-                    'user_id'                 => $this->user->id,
-                    'transaction_type_id'     => 1,
-                    'transaction_currency_id' => 1,
-                    'description'             => $descriptions[rand(0, count($descriptions) - 1)],
-                    'completed'               => 1,
-                    'date'                    => $current,
-                ]
-            );
-            Transaction::create(
-                [
-                    'account_id'             => $fromAccount->id,
-                    'transaction_journal_id' => $journal->id,
-                    'amount'                 => $amount * -1,
-
-                ]
-            );
-            Transaction::create(
-                [
-                    'account_id'             => $toAccount->id,
-                    'transaction_journal_id' => $journal->id,
-                    'amount'                 => $amount,
-
-                ]
-            );
-            $journal->categories()->save($category);
-            $journal->budgets()->save($budget);
-
-
-            $current->addDay();
-        }
-    }
-
-
-
-    /**
-     * @param        $description
-     * @param Carbon $date
-     * @param        $amount
-     *
-     * @return TransactionJournal
-     */
-    protected function createPower($description, Carbon $date, $amount)
-    {
-        $date        = new Carbon($date->format('Y-m') . '-06'); // paid on 10th
-        $fromAccount = TestData::findAccount($this->user, 'TestData Checking Account');
-        $toAccount   = TestData::findAccount($this->user, 'Greenchoice');
-        $category    = Category::firstOrCreateEncrypted(['name' => 'House', 'user_id' => $this->user->id]);
-        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $this->user->id]);
-        $journal     = TransactionJournal::create(
-            [
-                'user_id'                 => $this->user->id,
-                'transaction_type_id'     => 1,
-                'transaction_currency_id' => 1,
-                'description'             => $description,
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        if($journal->getErrors()->count() > 0) {
-            echo $journal->getErrors()->first();
-        }
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
-
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount,
-
-            ]
-        );
-        $journal->categories()->save($category);
-        $journal->budgets()->save($budget);
-
-        return $journal;
-
-    }
-
-    protected function createPreferences()
-    {
-        $preference       = new Preference;
-        $preference->name = 'frontPageAccounts';
-        $preference->data = [1];
-        $preference->user()->associate($this->user);
-        $preference->save();
-    }
-
-
-    /**
-     *
-     */
-    protected function createRevenueAccounts()
-    {
-        $revenues = ['Job', 'Belastingdienst', 'Bank', 'KPN', 'Google'];
-        foreach ($revenues as $name) {
-            // create account:
-            Account::create(
-                [
-                    'user_id'         => $this->user->id,
-                    'account_type_id' => 5,
-                    'name'            => $name,
-                    'active'          => 1,
-                    'encrypted'       => 1,
-                ]
-            );
-        }
-    }
-
-    /**
-     * @param Carbon $date
-     *
-     * @return TransactionJournal
-     */
-    protected function createSavings(Carbon $date)
-    {
-        $date        = new Carbon($date->format('Y-m') . '-24'); // paid on 24th.
-        $toAccount   = TestData::findAccount($this->user, 'TestData Savings');
-        $fromAccount = TestData::findAccount($this->user, 'TestData Checking Account');
-        $category    = Category::firstOrCreateEncrypted(['name' => 'Money management', 'user_id' => $this->user->id]);
-        // create journal:
-
-        $journal = TransactionJournal::create(
-            [
-                'user_id'                 => $this->user->id,
-                'transaction_type_id'     => 3,
-                'transaction_currency_id' => 1,
-                'description'             => 'Save money',
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => -150,
-
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => 150,
-
-            ]
-        );
-        $journal->categories()->save($category);
-
-        return $journal;
-
-    }
-
-    /**
-     * @param        $description
-     * @param Carbon $date
-     * @param        $amount
-     *
-     * @return TransactionJournal
-     */
-    protected function createTV($description, Carbon $date, $amount)
-    {
-        $date        = new Carbon($date->format('Y-m') . '-15'); // paid on 10th
-        $fromAccount = TestData::findAccount($this->user, 'TestData Checking Account');
-        $toAccount   = TestData::findAccount($this->user, 'XS4All');
-        $category    = Category::firstOrCreateEncrypted(['name' => 'House', 'user_id' => $this->user->id]);
-        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $this->user->id]);
-        $journal     = TransactionJournal::create(
-            [
-                'user_id'                 => $this->user->id,
-                'transaction_type_id'     => 1,
-                'transaction_currency_id' => 1,
-                'description'             => $description,
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
-
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount,
-
-            ]
-        );
-        $journal->categories()->save($category);
-        $journal->budgets()->save($budget);
-
-        return $journal;
-
-    }
-
-    /**
-     *
-     */
-    protected function createUsers()
-    {
-        User::create(['email' => 'thegrumpydictator@gmail.com', 'password' => bcrypt('james'), 'reset' => null, 'remember_token' => null]);
-        $this->user = User::whereEmail('thegrumpydictator@gmail.com')->first();
-
-        // create rights:
-        $role = Role::find(1);
-        $this->user->roles()->save($role);
-
-    }
-
-    /**
-     * @param        $description
-     * @param Carbon $date
-     * @param        $amount
-     *
-     * @return TransactionJournal
-     */
-    protected function createWater($description, Carbon $date, $amount)
-    {
-        $date        = new Carbon($date->format('Y-m') . '-10'); // paid on 10th
-        $fromAccount = TestData::findAccount($this->user, 'TestData Checking Account');
-        $toAccount   = TestData::findAccount($this->user, 'Vitens');
-        $category    = Category::firstOrCreateEncrypted(['name' => 'House', 'user_id' => $this->user->id]);
-        $budget      = Budget::firstOrCreateEncrypted(['name' => 'Bills', 'user_id' => $this->user->id]);
-        $journal     = TransactionJournal::create(
-            [
-                'user_id'                 => $this->user->id,
-                'transaction_type_id'     => 1,
-                'transaction_currency_id' => 1,
-                'description'             => $description,
-                'completed'               => 1,
-                'date'                    => $date,
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $fromAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount * -1,
-
-            ]
-        );
-        Transaction::create(
-            [
-                'account_id'             => $toAccount->id,
-                'transaction_journal_id' => $journal->id,
-                'amount'                 => $amount,
-
-            ]
-        );
-        $journal->categories()->save($category);
-        $journal->budgets()->save($budget);
-
-        return $journal;
-
-    }
-
-    /**
-     * @param $name
-     *
-     * @return Bill|null
-     */
-    protected function findBill($name)
-    {
-        /** @var Bill $bill */
-        foreach (Bill::get() as $bill) {
-            if ($bill->name == $name && $this->user->id == $bill->user_id) {
-                return $bill;
-                break;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * @param $name
-     *
-     * @return Category|null
-     */
-    protected function findCategory($name)
-    {
-
-        /** @var Category $category */
-        foreach (Category::get() as $category) {
-            if ($category->name == $name && $this->user->id == $category->user_id) {
-                return $category;
-                break;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * @param $name
-     *
-     * @return PiggyBank|null
-     */
-    protected function findPiggyBank($name)
-    {
-
-        /** @var Budget $budget */
-        foreach (PiggyBank::get() as $piggyBank) {
-            $account = $piggyBank->account()->first();
-            if ($piggyBank->name == $name && $this->user->id == $account->user_id) {
-                return $piggyBank;
-                break;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * @param $tagName
-     *
-     * @return Tag|null
-     * @internal param $tag
-     */
-    protected function findTag($tagName)
-    {
-        /** @var Tag $tag */
-        foreach (Tag::get() as $tag) {
-            if ($tag->tag == $tagName && $this->user->id == $tag->user_id) {
-                return $tag;
-                break;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
-     */
-    private function createRules()
-    {
-        // three rule groups to get started.
-        $ruleGroup = new RuleGroup;
-        $ruleGroup->user()->associate($this->user);
-        $ruleGroup->order       = 1;
-        $ruleGroup->active      = 1;
-        $ruleGroup->title       = 'Default rules';
-        $ruleGroup->description = 'All your rules not in a particular group.';
-        $ruleGroup->save();
-        unset($ruleGroup);
-
-        $ruleGroup = new RuleGroup;
-        $ruleGroup->user()->associate($this->user);
-        $ruleGroup->order       = 2;
-        $ruleGroup->active      = 1;
-        $ruleGroup->title       = 'Empty rule group';
-        $ruleGroup->description = 'Intentionally has no rules.';
-        $ruleGroup->save();
-        unset($ruleGroup);
-
-
-        $ruleGroup = new RuleGroup;
-        $ruleGroup->user()->associate($this->user);
-        $ruleGroup->order       = 3;
-        $ruleGroup->active      = 1;
-        $ruleGroup->title       = 'Rules for bills';
-        $ruleGroup->description = 'All rules for bills and recurring costs.';
-        $ruleGroup->save();
-        unset($ruleGroup);
-
-        // move groceries to correct budget/category
-        $rule = new Rule;
-        $rule->user()->associate($this->user);
-        $rule->ruleGroup()->associate(RuleGroup::find(1));
-        $rule->order           = 1;
-        $rule->active          = 1;
-        $rule->stop_processing = 0;
-        $rule->title           = 'Move groceries';
-        $rule->description     = 'Move groceries to correct category and budget.';
-
-        $rule->save();
-
-        // initial trigger for this rule:
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 1;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'user_action';
-        $ruleTrigger->trigger_value   = 'store-journal';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // content trigger for this rule.
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 2;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'description_contains';
-        $ruleTrigger->trigger_value   = 'groceries';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // another
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 3;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'from_account_is';
-        $ruleTrigger->trigger_value   = 'TestData Checking Account';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // actions for this rule. one, set category
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 1;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_category';
-        $ruleAction->action_value    = 'Groceries';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // actions for this rule. one, set budget
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 2;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_budget';
-        $ruleAction->action_value    = 'Groceries';
-        $ruleAction->save();
-        unset($ruleAction);
-
-
-        // move "gas" to "Car" and "Car"
-        $rule = new Rule;
-        $rule->user()->associate($this->user);
-        $rule->ruleGroup()->associate(RuleGroup::find(1));
-        $rule->order           = 2;
-        $rule->active          = 1;
-        $rule->stop_processing = 0;
-        $rule->title           = 'Move gas';
-        $rule->description     = null;
-
-        $rule->save();
-
-        // initial trigger for this rule:
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 1;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'user_action';
-        $ruleTrigger->trigger_value   = 'store-journal';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // content trigger for this rule.
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 2;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'description_contains';
-        $ruleTrigger->trigger_value   = 'gas';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // another
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 3;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'from_account_is';
-        $ruleTrigger->trigger_value   = 'TestData Checking Account';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // actions for this rule. one, set category
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 1;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_category';
-        $ruleAction->action_value    = 'Car';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // actions for this rule. one, set budget
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 2;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_budget';
-        $ruleAction->action_value    = 'Car';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // move savings to money management
-        $rule = new Rule;
-        $rule->user()->associate($this->user);
-        $rule->ruleGroup()->associate(RuleGroup::find(1));
-        $rule->order           = 3;
-        $rule->active          = 1;
-        $rule->stop_processing = 0;
-        $rule->title           = 'Move savings';
-        $rule->description     = null;
-
-        $rule->save();
-
-        // initial trigger for this rule:
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 1;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'user_action';
-        $ruleTrigger->trigger_value   = 'store-journal';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // is transfer
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 2;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'transaction_type';
-        $ruleTrigger->trigger_value   = 'Transfer';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // content trigger for this rule.
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 3;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'description_is';
-        $ruleTrigger->trigger_value   = 'Save money';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // another
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 4;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'from_account_is';
-        $ruleTrigger->trigger_value   = 'TestData Checking Account';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // another
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 5;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'to_account_is';
-        $ruleTrigger->trigger_value   = 'TestData Savings';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // actions for this rule. one, set category
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 1;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_category';
-        $ruleAction->action_value    = 'Money Management';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // move TV bill to "Bills" and "House"
-        $rule = new Rule;
-        $rule->user()->associate($this->user);
-        $rule->ruleGroup()->associate(RuleGroup::find(3));
-        $rule->order           = 1;
-        $rule->active          = 1;
-        $rule->stop_processing = 0;
-        $rule->title           = 'TV Bill';
-        $rule->description     = null;
-
-        $rule->save();
-
-        // initial trigger for this rule:
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 1;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'user_action';
-        $ruleTrigger->trigger_value   = 'store-journal';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // content trigger for this rule.
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 2;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'description_contains';
-        $ruleTrigger->trigger_value   = 'tv bill';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // another
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 3;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'from_account_is';
-        $ruleTrigger->trigger_value   = 'TestData Checking Account';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // actions for this rule. one, set category
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 1;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_category';
-        $ruleAction->action_value    = 'House';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // actions for this rule. one, set budget
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 2;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_budget';
-        $ruleAction->action_value    = 'Bills';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // move rent to bills, rent.
-        $rule = new Rule;
-        $rule->user()->associate($this->user);
-        $rule->ruleGroup()->associate(RuleGroup::find(3));
-        $rule->order           = 2;
-        $rule->active          = 1;
-        $rule->stop_processing = 1;
-        $rule->title           = 'Rent';
-        $rule->description     = 'Do something with rent.';
-
-        $rule->save();
-
-        // initial trigger for this rule:
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 1;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'user_action';
-        $ruleTrigger->trigger_value   = 'update-journal';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // content trigger for this rule.
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 2;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 0;
-        $ruleTrigger->trigger_type    = 'description_contains';
-        $ruleTrigger->trigger_value   = 'rent';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // another
-        $ruleTrigger = new RuleTrigger;
-        $ruleTrigger->rule()->associate($rule);
-        $ruleTrigger->order           = 3;
-        $ruleTrigger->active          = 1;
-        $ruleTrigger->stop_processing = 1;
-        $ruleTrigger->trigger_type    = 'from_account_is';
-        $ruleTrigger->trigger_value   = 'TestData Checking Account';
-
-        $ruleTrigger->save();
-        unset($ruleTrigger);
-
-        // actions for this rule. one, set category
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 1;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 0;
-        $ruleAction->action_type     = 'set_category';
-        $ruleAction->action_value    = 'House';
-        $ruleAction->save();
-        unset($ruleAction);
-
-        // actions for this rule. one, set budget
-        $ruleAction = new RuleAction;
-        $ruleAction->rule()->associate($rule);
-        $ruleAction->order           = 2;
-        $ruleAction->active          = 1;
-        $ruleAction->stop_processing = 1;
-        $ruleAction->action_type     = 'set_budget';
-        $ruleAction->action_value    = 'Bills';
-        $ruleAction->save();
-        unset($ruleAction);
-    }
-
-
-}