initial refactored structure of nanger