separate data structure init for readability