arrayList are used and some layout designs are enhanced