powerful and flexible