Added and improved some more. Still has a bug.