diff --git a/block_example/block_example.module b/block_example/block_example.module
index 987aff2..3e095e4 100644
--- a/block_example/block_example.module
+++ b/block_example/block_example.module
@@ -6,6 +6,7 @@
  */
 
 use Drupal\Component\Utility\Unicode;
+use Drupal\Core\Block\BlockPluginInterface;
 
 /**
  * @defgroup block_example Example: Block
@@ -38,7 +39,7 @@ use Drupal\Component\Utility\Unicode;
  * hook by creating a new block whose title has the string 'uppercase' in it
  * (set as title through the UI).
  */
-function block_example_block_view_alter(array &$build, \Drupal\Core\Block\BlockPluginInterface $block) {
+function block_example_block_view_alter(array &$build, BlockPluginInterface $block) {
   // We'll search for the string 'uppercase'.
   $definition = $block->getPluginDefinition();
   if ((!empty($build['#configuration']['label']) && stristr($build['#configuration']['label'], 'uppercase')) || (!empty($definition['subject']) && stristr($definition['subject'], 'uppercase'))) {
diff --git a/block_example/block_example.routing.yml b/block_example/block_example.routing.yml
index ca7a594..93f7a24 100644
--- a/block_example/block_example.routing.yml
+++ b/block_example/block_example.routing.yml
@@ -1,6 +1,7 @@
 block_example.description:
-  path: 'examples/block_example'
+  path: '/examples/block_example'
   defaults:
     _controller: '\Drupal\block_example\Controller\BlockExampleController::description'
+    _title: 'Block Example'
   requirements:
     _access: 'TRUE'
diff --git a/block_example/src/Controller/BlockExampleController.php b/block_example/src/Controller/BlockExampleController.php
index b7dd051..dfb1db4 100644
--- a/block_example/src/Controller/BlockExampleController.php
+++ b/block_example/src/Controller/BlockExampleController.php
@@ -7,12 +7,13 @@
 
 namespace Drupal\block_example\Controller;
 
+use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Url;
 
 /**
  * Controller routines for block example routes.
  */
-class BlockExampleController {
+class BlockExampleController extends ControllerBase {
 
   /**
    * A simple controller method to explain what the block example is about.
@@ -20,15 +21,13 @@ class BlockExampleController {
   public function description() {
     // Make a link from a route to the block admin page.
     $url = Url::fromRoute('block.admin_display');
-    $block_admin_link = \Drupal::l(t('the block admin page'), $url);
+    $block_admin_link = $this->l($this->t('the block admin page'), $url);
 
     // Put the link into the content.
     $build = array(
-      '#markup' => t('The Block Example provides three sample blocks which demonstrate the various block APIs. To experiment with the blocks, enable and configure them on !block_admin_link.', array(
-        '!block_admin_link' => $block_admin_link,
-        )
-      ),
+      '#markup' => $this->t('The Block Example provides three sample blocks which demonstrate the various block APIs. To experiment with the blocks, enable and configure them on !block_admin_link.', ['!block_admin_link' => $block_admin_link]),
     );
+
     return $build;
   }
 
diff --git a/block_example/src/Plugin/Block/ExampleConfigurableTextBlock.php b/block_example/src/Plugin/Block/ExampleConfigurableTextBlock.php
index d13cbe7..0784c64 100644
--- a/block_example/src/Plugin/Block/ExampleConfigurableTextBlock.php
+++ b/block_example/src/Plugin/Block/ExampleConfigurableTextBlock.php
@@ -7,9 +7,7 @@
 
 namespace Drupal\block_example\Plugin\Block;
 
-use Drupal\block\Annotation\Block;
 use Drupal\Core\Block\BlockBase;
-use Drupal\Core\Annotation\Translation;
 use Drupal\Core\Form\FormStateInterface;
 
 /**
@@ -31,7 +29,7 @@ class ExampleConfigurableTextBlock extends BlockBase {
    */
   public function defaultConfiguration() {
     return array(
-      'block_example_string' => t('A default value. This block was created at %time', array('%time' => date('c'))),
+      'block_example_string' => $this->t('A default value. This block was created at %time', array('%time' => date('c'))),
     );
   }
 
@@ -40,10 +38,9 @@ class ExampleConfigurableTextBlock extends BlockBase {
    */
   public function blockForm($form, FormStateInterface $form_state) {
     $form['block_example_string_text'] = array(
-      '#type' => 'textfield',
-      '#title' => t('Block contents'),
-      '#size' => 60,
-      '#description' => t('This text will appear in the example block.'),
+      '#type' => 'textarea',
+      '#title' => $this->t('Block contents'),
+      '#description' => $this->t('This text will appear in the example block.'),
       '#default_value' => $this->configuration['block_example_string'],
     );
     return $form;
diff --git a/block_example/src/Plugin/Block/ExampleUppercaseBlock.php b/block_example/src/Plugin/Block/ExampleUppercaseBlock.php
index 66ba833..3b26239 100644
--- a/block_example/src/Plugin/Block/ExampleUppercaseBlock.php
+++ b/block_example/src/Plugin/Block/ExampleUppercaseBlock.php
@@ -7,9 +7,7 @@
 
 namespace Drupal\block_example\Plugin\Block;
 
-use Drupal\block\Annotation\Block;
 use Drupal\Core\Block\BlockBase;
-use Drupal\Core\Annotation\Translation;
 
 /**
  * Provides a 'Example: uppercase this please' block.
@@ -27,7 +25,7 @@ class ExampleUppercaseBlock extends BlockBase {
   public function build() {
     return array(
       '#type' => 'markup',
-      '#markup' => t("This block's title will be changed to uppercase. Any other block with 'uppercase' in the subject or title will also be altered. If you change this block's title through the UI to omit the word 'uppercase', it will still be altered to uppercase as the subject key has not been changed."),
+      '#markup' => $this->t("This block's title will be changed to uppercase. Any other block with 'uppercase' in the subject or title will also be altered. If you change this block's title through the UI to omit the word 'uppercase', it will still be altered to uppercase as the subject key has not been changed."),
     );
   }
 
diff --git a/block_example/src/Tests/BlockExampleTest.php b/block_example/src/Tests/BlockExampleTest.php
index eb42d89..3bf3749 100644
--- a/block_example/src/Tests/BlockExampleTest.php
+++ b/block_example/src/Tests/BlockExampleTest.php
@@ -26,23 +26,15 @@ class BlockExampleTest extends WebTestBase {
    */
   public static $modules = array('block', 'block_example');
 
-  protected $webUser;
-
-  /**
-   * Enable modules and create user with specific permissions.
-   */
-  public function setUp() {
-    parent::setUp();
-    // Create user.
-    $this->webUser = $this->drupalCreateUser(array('administer blocks'));
-  }
-
   /**
    * Tests block_example functionality.
    */
   public function testBlockExampleBasic() {
+    // Create user.
+    $web_user = $this->drupalCreateUser(array('administer blocks'));
     // Login the admin user.
-    $this->drupalLogin($this->webUser);
+    $this->drupalLogin($web_user);
+
     $theme_name = \Drupal::config('system.theme')->get('default');
 
     // Verify the blocks are listed to be added.
