first version with a few simple built in validation rules