much better structure and flexibility