Copyright 2018 Samuel Green