modules traced but object could be cleaner and miore transparent