use protocol if provided, better logging
get user-specific data for module completion