still trying to figure out why this things loops, currently I do not have much of an idea why