figured out why getting kernel fault, still buggy