Created by: @pablorochat , @artballin, @flexlang , @shoms Original code by: @ellisonleao