add exception in setposition*