extend text-button component