redone GPU stuff and test stuff