More new code, still not finished