extensive logging