improved integration