Modifications & updated to the latest version