Functions to spec with Alpha, still total shit though