everything's coffee, some of the code is easier to read