integration methods