add validate decorator