diff --git a/app/Http/Controllers/MembersController.php b/app/Http/Controllers/MembersController.php
new file mode 100644
index 0000000000000000000000000000000000000000..72b90e26c4d8d1b1615008bd07608942b05e5fdb
--- /dev/null
+++ b/app/Http/Controllers/MembersController.php
@@ -0,0 +1,130 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Storage;
+use App\Member;
+
+class MembersController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        $user = Member::find($id);
+        if($user !== null){
+            return view('users.profile')->with('user', $user);
+        } else {
+            return abort(404);
+        }
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        $user = Member::find($id);
+        if($user !== null){
+            return view('users.editprofile')->with('user', $user);
+        } else {
+            return abort(404);
+        }
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        $this->validate($request, [
+            'email' => 
+                array(
+                    'required',
+                    'regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/'),
+            'phone_number' => 'required',
+            'company' => 'required',
+            'interest' => 'required',
+            'profile_image' => 'image|nullable|max:1999'
+        ]);
+
+        if($request->hasFile('profile_image')){
+            $fileNameWithExt = $request->file('profile_image')->getClientOriginalName();
+            $fileName = pathinfo($fileNameWithExt, PATHINFO_FILENAME);
+            $extension = $request->file('profile_image')->getClientOriginalExtension();
+            $fileNameToStore = $fileName . '_' . time() . '.' . $extension;
+
+            $path = $request->file('profile_image')->storeAs('public/profile_image', $fileNameToStore);
+        }
+
+        $user = Member::find($id);
+        $user->email = $request->input('email');
+        $user->phone_number = $request->input('phone_number');
+        $user->company = $request->input('company');
+        $user->interest = $request->input('interest');
+        $user->address = $request->input('address');
+        if($request->hasFile('profile_image')){
+            if($user->profile_image !== 'noimage.jpg'){
+                Storage::delete('public/profile_image/' . $user->profile_image);
+            }
+            $user->profile_image = $fileNameToStore;
+        }
+        $user->save();
+
+        return redirect('/profile/' . $id)->with('success', 'Profile Updated');
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}
diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php
index f125d07214543a3dcb57eec5b7e9a6952ad6fe31..98ce34e830404b2972fc27597d0084b5752e4636 100644
--- a/app/Http/Controllers/UsersController.php
+++ b/app/Http/Controllers/UsersController.php
@@ -72,7 +72,10 @@ class UsersController extends Controller
     public function update(Request $request, $id)
     {
         $this->validate($request, [
-            'email' => 'required',
+            'email' => 
+                array(
+                    'required',
+                    'regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/'),
             'phone_number' => 'required',
             'company' => 'required',
             'interest' => 'required'
diff --git a/app/Member.php b/app/Member.php
new file mode 100644
index 0000000000000000000000000000000000000000..e99cefff995ff940624a1731f7758655f8de4368
--- /dev/null
+++ b/app/Member.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Member extends Model
+{
+    //
+}
diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php
index 6d36712b97dc383a3ced799bde4be80227ae0b05..67220e30f5ac595fac319f67094448ca437c19ed 100644
--- a/database/migrations/2014_10_12_000000_create_users_table.php
+++ b/database/migrations/2014_10_12_000000_create_users_table.php
@@ -17,11 +17,7 @@ class CreateUsersTable extends Migration
             $table->increments('id');
             $table->string('name');
             $table->string('email', 191)->unique();
-            $table->string('phone_number');
             $table->string('password');
-            $table->string('company');
-            $table->string('interest');
-            $table->string('address')->nullable();
             $table->rememberToken();
             $table->timestamps();
         });
diff --git a/database/migrations/2018_03_16_121506_create_members_table.php b/database/migrations/2018_03_16_121506_create_members_table.php
new file mode 100644
index 0000000000000000000000000000000000000000..5961cf652d2ab27de4d1f19c2c20e7abbabb7805
--- /dev/null
+++ b/database/migrations/2018_03_16_121506_create_members_table.php
@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateMembersTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('members', function (Blueprint $table) {
+            $table->increments('id');
+            $table->string('name');
+            $table->string('email', 191)->unique();
+            $table->string('phone_number');
+            $table->string('company');
+            $table->string('interest');
+            $table->string('address')->nullable();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('members');
+    }
+}
diff --git a/database/migrations/2018_03_16_134857_profile_image.php b/database/migrations/2018_03_16_134857_profile_image.php
new file mode 100644
index 0000000000000000000000000000000000000000..db3e05dfdf4ff8df1788ea11865dff70ffa38166
--- /dev/null
+++ b/database/migrations/2018_03_16_134857_profile_image.php
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class ProfileImage extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('members', function($table){
+            $table->string('profile_image')->default('noimage.jpg');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('members', function($table){
+            $table->dropColumn('profile_image');
+        });
+    }
+}
diff --git a/public/.htaccess b/public/.htaccess
index b75525bedcd85c37bf37df77ecb65dcadfa617d1..b32342881a69fbe1fd8785770b25e4f7af60b73e 100644
--- a/public/.htaccess
+++ b/public/.htaccess
@@ -11,11 +11,10 @@
 
     # Redirect Trailing Slashes If Not A Folder...
     RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_URI} (.+)/$
     RewriteRule ^ %1 [L,R=301]
 
     # Handle Front Controller...
-    RewriteCond %{REQUEST_FILENAME} !-d
-    RewriteCond %{REQUEST_FILENAME} !-f
     RewriteRule ^ index.php [L]
 </IfModule>
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
index 81815368cdff56c63db3f468a3af4935a7e2a9ef..bfa5970739cad0c2036d74a3095640d3ca35469e 100644
--- a/resources/views/layouts/app.blade.php
+++ b/resources/views/layouts/app.blade.php
@@ -5,12 +5,13 @@
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <link rel="stylesheet" href="{{asset('css/app.css')}}">
+        <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
         <title>@yield('title')</title>
     </head>
     <body>
         <div class="container">
-            @include('inc.messages')
             @include('inc.navbar')
+            @include('inc.messages')
             @yield('content')
         </div>
     </body>
diff --git a/resources/views/users/editprofile.blade.php b/resources/views/users/editprofile.blade.php
index b4f21f42179c91f78eb0dbfbdf4330ad123a406c..9f77c789f060aaa80c37ca3e8653a0d6fb000fe1 100644
--- a/resources/views/users/editprofile.blade.php
+++ b/resources/views/users/editprofile.blade.php
@@ -3,7 +3,6 @@
 @section('title', $user->name . ' | Update Profile')
 
 @section('content')
-    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
     <h2 class="sub-title">Edit Profile</h2>
     <div class="row">
         <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 toppad" >  
@@ -14,12 +13,15 @@
                 <div class="panel-body">
                     <div class="row">
                         <div class="col-md-3 col-lg-3 " align="center"> <img alt="User Pic" 
-                        src="https://x1.xingassets.com/assets/frontend_minified/img/users/nobody_m.original.jpg" 
+                        src="/storage/profile_image/{{$user->profile_image}}"
                         class="img-circle img-responsive" id=""> </div>
                         
                             <div class=" col-md-9 col-lg-9 "> 
-                                {!! Form::open(['action' => ['UsersController@update',$user->id], 'method' => 'POST']) !!}
+                                {!! Form::open(['action' => ['MembersController@update',$user->id], 'method' => 'POST', 'enctype' => 'multipart/form-data']) !!}
                                 <div class="form-group">
+                                    {{Form::label('profile_image','Profile Image')}}
+                                    {{Form::file('profile_image')}}
+                                    
                                     {{Form::label('email','Email')}}
                                     {{Form::text('email', $user->email , ['class' => 'form-control'])}}
 
@@ -44,5 +46,12 @@
                 </div>
             </div>
         </div>
+        <link rel="stylesheet" type="text/css" href="css/file-upload.css" />
+<script src="js/file-upload.js"></script>
+<script type="text/javascript">
+    $(document).ready(function() {
+        $('.file-upload').file_upload();
+    });
+</script>
 
 @endsection
\ No newline at end of file
diff --git a/resources/views/users/profile.blade.php b/resources/views/users/profile.blade.php
index 86ea40ab5f97a4ffecbf9516f5a937110ad00e08..3b1fd754a3d3d5dcad0e579e2e84ca3e39881e14 100644
--- a/resources/views/users/profile.blade.php
+++ b/resources/views/users/profile.blade.php
@@ -3,7 +3,6 @@
 @section('title', $user->name . ' | Profile')
 
 @section('content')
-    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
     <h2 class="sub-title">Profile</h2>
     <div class="row">
         <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 toppad" >  
@@ -14,7 +13,7 @@
                 <div class="panel-body">
                     <div class="row">
                         <div class="col-md-3 col-lg-3 " align="center"> <img alt="User Pic" 
-                        src="https://x1.xingassets.com/assets/frontend_minified/img/users/nobody_m.original.jpg" 
+                        src="/storage/profile_image/{{$user->profile_image}}" 
                         class="img-circle img-responsive" id=""> </div>
                         
                             <div class=" col-md-9 col-lg-9 "> 
diff --git a/routes/web.php b/routes/web.php
index e58039552214df605c10cf975e1fb5357c8786c8..6fa3587af56a6f004095e6ccb8c65877dee06bb6 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -15,4 +15,4 @@ Route::get('/', function () {
     return '<h1>Under Construction</h1>';
 });
 
-Route::resource('profile', 'UsersController');
\ No newline at end of file
+Route::resource('profile', 'MembersController');
\ No newline at end of file
diff --git a/storage/app/public/profile_image/noimage.jpg b/storage/app/public/profile_image/noimage.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..bed17c901e5fcdca78e6d892fdcd7c07b4b4bdb4
Binary files /dev/null and b/storage/app/public/profile_image/noimage.jpg differ