support four directions(top, bottom, left, right)