add position validation