driver added, horizontal added except the null checking
made array aligned, fixed empty space sensing