Updates. Added new code, some of which is NOT finished. Don't have time
to fix right now but will get back to it.