Pretty big rewrite; not working yet.