updated for Elixir 0.14.1 as bset I could