_**Please open an issue first to discuss new features or non-trivial changes.**_