manual integration