updating code with override posibility