#86 Improve implementation