Use if-let syntax
Make Gauge more general and remove main
Use traits and type specifiable
Use Num type