initial integration -- ugly