use implicit class