Make sure these boxes checked before submitting your pull request.
[] Do only one thing
[] No API-breaking changes
[] New code/logic commented & tested
For significant changes like big bug fixes, new features, please open an issue to make an agreement on an implementation design/plan first before starting it.