please pardon the chaos, this is a work in progress