I'm too lazy to read through for errors, just let the rpi spit them out