diff --git a/server/server.hpp b/server/server.hpp
index cedb593..d5bafd6 100644
--- a/server/server.hpp
+++ b/server/server.hpp
@@ -30,41 +30,42 @@
 #ifndef HTTP_SERVER_HPP
 #define HTTP_SERVER_HPP
 
-#include <boost/asio.hpp>
-#include <string>
-#include <boost/noncopyable.hpp>
 #include "connection.hpp"
 #include "connection_manager.hpp"
 #include "request_handler.hpp"
+#include <boost/asio.hpp>
+#include <boost/noncopyable.hpp>
+#include <string>
 
 namespace http {
 namespace server {
 
 /// The top-level class of the HTTP server.
-class server
-  : private boost::noncopyable
+class server : private boost::noncopyable
 {
 public:
   /// Construct the server to listen on the specified TCP address and port, and
   /// serve up files from the given directory.
-  explicit server(const std::string& address, const std::string& port,
-      const std::string& doc_root);
+  explicit server(const std::string& address, const std::string& port, const std::string& doc_root);
 
   ~server();
 
   /// Run the server's io_service loop.
-  void run();
+  void
+  run();
 
   /// Handle a request to stop the server.
-  void handle_stop();
+  void
+  handle_stop();
 
 private:
-
   /// Initiate an asynchronous accept operation.
-  void start_accept();
+  void
+  start_accept();
 
   /// Handle completion of an asynchronous accept operation.
-  void handle_accept(const boost::system::error_code& e);
+  void
+  handle_accept(const boost::system::error_code& e);
 
   /// The io_service used to perform asynchronous operations.
   boost::asio::io_service io_service_;
