reduced amount of implicits needed