refactored to return module or modules... -sai