Copyright (c) 2017, Ryan Zimmerman <opensrc@ryanzim.com>