Final Beta Version. The 1% left is small polish.