be purer
method replacement
don't return anything
method redef type checking