Temporary save. Too many changes since last, but it still runs =)