uploaded a complelety rewritten version of the package