versatile and very easy to understand and use layoutmanager