switched to list structure