Updated to Alpha 5 and some rewriting.