I know thats what this technically is, but lets not use the f work