further validation added