updated for Elm 0.13 and completed basic functionality