fine tuning: error check, field validation etc.