Any contributions are welcome. If you have a better implentation, please send in a PR. If you find anything broke, create an issue.