updated the code so it works with impractical.me