added implicits to make life easy