the code is shit. I would use templates if only it fucking worked without requiring the function body to be included in a .h.
shit in place to start implementing GPU shit. GPL headers added before it's too late. (TODO: put actual GPL license in the repo) also added URL that doesn't exist yet but is reserved.