Absorbed changes from v2.0 on GitHub