somewhat working but crappy code :sad: