why isnt this final?