Reimplement shit until it starts working