Copyright (c) 2020 Tyler Ruckinger Licensed under MIT or Apache-2.0, at your discresion.