use extend instead of append