refactor to elm 0.14