added final to not inherited classes