probably should have done this ages ago