Yet another sparse.pl rewrite... completely broken
Some more changes...