updated version, less breaking