work on extend with override