testing top to bottom, bottom to top