parameter validation added